SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TDREND_GAST_U01]
/*---------------------------------------------------------*/    
/*---Empresa              : OFISIS S.A.                  --*/    
/*---Cliente              : CASSINELLI S.A.              --*/    
/*---Sistema              : Tesoreria                    --*/    
/*---M«dulo               : Empresa                      --*/    
/*---Programa             : Actualización tdREND_Gast  --*/    
/*---Script               : ttproc_i.sql                 --*/    
/*---Nombre SP            : SP_TTPROC_INTE_I02           --*/    
/*---Desarrollado por     : Javier Flores A.             --*/    
/*---Fecha Creaci«n       : 02/08/1999                   --*/    
/*---Base Datos           : Microsoft Sql Server         --*/    
/*---Versi«n              : 7.0                          --*/    
/*---Invoca a SP          :                              --*/    
/*---------------------------------------------------------*/    
/*-------------------------------------------------------*/    
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/    
/*---Fecha Modificaci©n   : 20/04/2005                   --*/     
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI--*/    
/*-------------------------------------------------------*/    
/*-------------------------------------------------------*/    
/*---Modificado 3 por     : Carlos Marquez               --*/  
/*---Fecha Modificaci©n   : 08/08/2005                   --*/     
/*---Detalle Modificaci©n : Control en la Act. de la Distrib--*/    
/*-------------------------------------------------------*/    
/*---Modificado 3 por     : Manuel de la Cruz            --*/  
/*---Fecha Modificaci©n   : 25/25/2005                   --*/     
/*---Detalle Modificaci©n : Agrego la unidad en el update--*/    
/*---------------------------------------------------------*/    
/*---------------------------------------------------------*/    
/*---Modificado 3 por     : Mirco Angulo     --*/  
/*---Fecha Modificaci©n   : 23/12/2010                   --*/     
/*---Detalle Modificaci©n : Agrego la variable @ISST_GRAV_NGRA--*/    
/*---Se comento el select * from tttipo_oper    --*/   
/*---------------------------------------------------------*/        
/*---Modificado 4 por     : Daniel Gutiérrez    --*/      
/*---Fecha Modificaci©n   : 04/07/2011                  --*/         
/*---Detalle Modificaci©n : Se adiciono campo FE_PAGO para el caso de  
     los recibos x honorario--*/       
/*---------------------------------------------------------*/       
/*---------------------------------------------------------*/   
/*---Comentarios                                         --*/    
/*---                                                    --*/    
/*---                                                    --*/    
/*---------------------------------------------------------*/    
    
/*---------------------------------------------------------*/    
/*---Drop Proc SP_TDREND_GAST_U01                        --*/    
/*---Grant all on SP_TDREND_GAST_U01 to public           --*/     
/*---SP_TDREND_GAST_U01 '01' , 1, 1, '03/01/1999',       --*/    
/*--- '03/31/1999', 'N', 1, 0, 0, NULL , NULL            --*/    
/*---------------------------------------------------------*/    
@ISCO_EMPR TD_VC_002,  
@ISCO_USUA_MODI   TD_VC_008,     
@INNU_REND_GAST TD_VC_010,     
@IDFE_REND_GAST TD_DT_001,    
@INNU_CORR_SGTE TD_IN_001,    
@ISCO_UNID_CNTB TD_VC_003,      
@ISTI_ENTI TD_VC_001,     
@ISCO_ENTI TD_VC_020,    
@ISDE_ENTI TD_VC_100,     
@ISCO_TIPO_DOCU TD_VC_003,    
@ISNU_DOCU TD_VC_020,    
@INFA_CAMB_DOCU TD_NU_015_006,     
@ISCO_MONE TD_VC_003,    
@ISCO_TIOP_PROV TD_VC_003,    
@INIM_BRUT_AFEC TD_NU_016_004,    
@INIM_BRUT_INAF TD_NU_016_004,    
@ISCO_IMP1 TD_VC_003,    
@INPC_IMP1 TD_NU_009_004,    
@INIM_IMP1 TD_NU_016_004,    
@ISCO_IMP2 TD_VC_003,    
@INPC_IMP2 TD_NU_009_004,    
@INIM_IMP2 TD_NU_016_004,    
@ISCO_IMP3 TD_VC_003,    
@INPC_IMP3 TD_NU_009_004,    
@INIM_IMP3 TD_NU_016_004,    
@INIM_SUBT_TOTA TD_NU_016_004,    
@INIM_DOCU TD_NU_016_004,     
@ISFE_DOCU TD_DT_001,     
--@IFFE_REGI_COMP TD_DT_001,    
@INIM_CONV TD_NU_016_004,    
@ISCO_TIPO_OPER TD_VC_003,     
@ISCO_CNTA_EMPR TD_VC_020,    
@ISDE_OBSE_DETA TD_VC_100,    
@ISTI_AUXI TD_VC_001,     
@ISCO_AUXI_EMPR TD_VC_020,    
@ISCO_ORDE_SERV TD_VC_020,    
@ISNU_IMPO TD_VC_020,  
@INFA_CAMB_REND TD_NU_015_006,  
@ISST_GRAV_NGRA TD_VC_003,  
@IDFE_PAGO TD_DT_001  
  
 As  
declare @VNNU_CORR TD_IN_001,    
  @VSST_PROV_AUTO TD_VC_001,  
  @VNNU_DETA_DIST TD_IN_001  
    
Begin Tran SP_TDREND_GAST_U01    
    
 If @INIM_IMP1 < 0     
  Select @INIM_IMP1 = Abs(@INIM_IMP1), @INIM_IMP2 = Abs(@INIM_IMP2), @INIM_IMP3 = Abs(@INIM_IMP3)    
   
 Select  @VSST_PROV_AUTO = ST_PROV_AUTO   From TMPARA_TESO    
 Where CO_EMPR = @ISCO_EMPR    
   
 Update  TDREND_GAST    
 Set CO_UNID_CONC = @ISCO_UNID_CNTB, FA_CAMB_DOCU = @INFA_CAMB_DOCU,     
 CO_MONE = @ISCO_MONE, CO_TIOP_PROV = @ISCO_TIOP_PROV,     
 IM_BRUT_AFEC = @INIM_BRUT_AFEC, IM_BRUT_INAF = @INIM_BRUT_INAF,     
 CO_IMP1 = @ISCO_IMP1, PC_IMP1 = @INPC_IMP1, IM_IMP1 = @INIM_IMP1,     
 CO_IMP2 = @ISCO_IMP2, PC_IMP2 = @INPC_IMP2, IM_IMP2 = @INIM_IMP2,     
 CO_IMP3 = @ISCO_IMP3, PC_IMP3 = @INPC_IMP3, IM_IMP3 = @INIM_IMP3,     
 IM_DOCU = @INIM_DOCU, FE_DOCU = @ISFE_DOCU, IM_CONV = @INIM_CONV,     
 CO_TIPO_OPER = @ISCO_TIPO_OPER, CO_CNTA_EMPR = @ISCO_CNTA_EMPR,     
 DE_OBSE = @ISDE_OBSE_DETA, TI_AUXI_EMPR = @ISTI_AUXI,     
 CO_CENT_COST = @ISCO_AUXI_EMPR, CO_ORDE_SERV = @ISCO_ORDE_SERV,    
 NU_IMPO = @ISNU_IMPO,FA_CAMB_REND = @INFA_CAMB_REND,  ST_GRAV_NGRA = @ISST_GRAV_NGRA,   
 CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = GETDATE(),  
 FE_PAGO = @IDFE_PAGO  
 Where  CO_EMPR = @ISCO_EMPR    
 And CO_UNID_CONC = @ISCO_UNID_CNTB   
 And NU_REND_GAST = @INNU_REND_GAST    
 And FE_REND_GAST = @IDFE_REND_GAST    
 And NU_CORR_GAST = @INNU_CORR_SGTE     
   
  
/*--select * from tttipo_oper--*/  
   
 IF (@@ERROR != 0)    
 Begin     
  RAISERROR 20001 'ERROR DE INSERCION'    
  RollBack Tran SP_TDREND_GAST_U01    
  Return    
 End    
   
   
 If @VSST_PROV_AUTO = 'S'    
 Begin     
  Update  TMDOCU_PROV    
  Set CO_UNID_CONC = @ISCO_UNID_CNTB, FA_TIPO_CAMB = @INFA_CAMB_DOCU,     
  CO_MONE = @ISCO_MONE, CO_TIPO_OPER = @ISCO_TIOP_PROV,     
  IM_BRUT_AFEC = @INIM_BRUT_AFEC, IM_BRUT_INAF = @INIM_BRUT_INAF,     
  CO_IMP1 = @ISCO_IMP1, PC_IMP1 = @INPC_IMP1, IM_IMP1 = @INIM_IMP1,     
  CO_IMP2 = @ISCO_IMP2, PC_IMP2 = @INPC_IMP2, IM_IMP2 = @INIM_IMP2,     
  CO_IMP3 = @ISCO_IMP3, PC_IMP3 = @INPC_IMP3, IM_IMP3 = @INIM_IMP3,     
  IM_TOTA = @INIM_DOCU, IM_PAGA = @INIM_DOCU,     
  FE_EMIS = @ISFE_DOCU, DE_OBSE = @ISDE_OBSE_DETA,    
  NU_IMPO = @ISNU_IMPO,  CO_ESTA_DOCU = 'PAG', ST_GRAV_NGRA = @ISST_GRAV_NGRA,   
  CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = GETDATE()    
  Where  CO_EMPR = @ISCO_EMPR    
  And  CO_PROV = @ISCO_ENTI    
  And CO_TIPO_DOCU = @ISCO_TIPO_DOCU    
  And  NU_DOCU_PROV = @ISNU_DOCU     
    
  IF (@@ERROR != 0)    
  Begin     
   RAISERROR 20001 'ERROR DE INSERCION'    
   RollBack Tran SP_TDREND_GAST_U01    
   Return    
  End    
    
  Select @VNNU_DETA_DIST = Count(CO_CNTA_EMPR)  
  From TDDISP_CCOS  
  Where CO_EMPR = @ISCO_EMPR    
    And CO_PROV = @ISCO_ENTI    
    And CO_TIPO_DOCU = @ISCO_TIPO_DOCU    
    And NU_DOCU_PROV = @ISNU_DOCU     
    
  If  @VNNU_DETA_DIST = 1   
  Begin    
   Update  TDDISP_CCOS    
   Set IM_DIST = @INIM_BRUT_AFEC + @INIM_BRUT_INAF,     
    CO_CNTA_EMPR = @ISCO_CNTA_EMPR,     
    TI_AUXI_EMPR = @ISTI_AUXI,     
    CO_CENT_COST = @ISCO_AUXI_EMPR,    
    CO_ORDE_SERV = @ISCO_ORDE_SERV,    
    DE_OBSE = @ISDE_OBSE_DETA,  
    CO_USUA_MODI = @ISCO_USUA_MODI,  
    FE_USUA_MODI = GETDATE()    
   Where  CO_EMPR = @ISCO_EMPR    
   And  CO_PROV = @ISCO_ENTI    
   And CO_TIPO_DOCU = @ISCO_TIPO_DOCU    
   And  NU_DOCU_PROV = @ISNU_DOCU     
     
   IF (@@ERROR != 0)    
   Begin     
    RAISERROR 20001 'ERROR DE INSERCION'    
    RollBack Tran SP_TDREND_GAST_U01    
    Return    
   End    
  End  
 End    
    
COMMIT Tran SP_TDREND_GAST_U01      
/*--------------------------- Fin -------------------------------- */
GO
